const express = require('express');
const router = express.Router();
const productController = require('../controllers/productController');
const uploadUtil = require('../utils/upload');
// 暂时移除认证，方便测试（生产环境应该添加认证）
// const { authenticateAdminToken } = require('../middleware/jwtAuth');

// 多文件上传接口（支持多个图片/视频）
router.post('/upload-images', uploadUtil.uploadProductImages, (req, res) => {
  try {
    if (!req.files || req.files.length === 0) {
      return res.json({
        success: false,
        message: '未选择文件'
      });
    }

    // 返回所有文件的URL
    const urls = req.files.map(file => {
      return uploadUtil.getImageUrl(file.filename, 'products');
    });
    
    res.json({
      success: true,
      message: '上传成功',
      data: {
        urls: urls,
        count: urls.length
      }
    });
  } catch (error) {
    res.json({
      success: false,
      message: error.message || '上传失败'
    });
  }
});

// 单文件上传接口（保持兼容）
router.post('/upload-image', uploadUtil.uploadProductImage, (req, res) => {
  try {
    if (!req.file) {
      return res.json({
        success: false,
        message: '未选择文件'
      });
    }

    // 返回图片URL
    const imageUrl = uploadUtil.getImageUrl(req.file.filename, 'products');
    
    res.json({
      success: true,
      message: '上传成功',
      data: {
        filename: req.file.filename,
        url: imageUrl,
        size: req.file.size
      }
    });
  } catch (error) {
    res.json({
      success: false,
      message: error.message || '上传失败'
    });
  }
});

// 后台管理接口 - 获取商品列表
router.get('/', productController.getProductsAdmin.bind(productController));

// 后台管理接口 - 创建商品
router.post('/', productController.createProduct.bind(productController));

// 后台管理接口 - 更新商品
router.put('/:id', productController.updateProduct.bind(productController));

// 后台管理接口 - 删除商品
router.delete('/:id', productController.deleteProduct.bind(productController));

module.exports = router;
